home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 4
/
Apprentice-Release4.iso
/
Source Code
/
Libraries
/
Graphic Elements 3
/
LibHdrs
/
List.h
< prev
next >
Wrap
Text File
|
1994-01-21
|
968b
|
61 lines
/*
List.h
Routines for maintaining ordered linked lists
Copyright 1993, 1994 by Al Evans -- all rights reserved
4/13/93
Modified 1/10/94 to allocate new blocks as required
*/
#ifndef LLISTS
#define LLISTS
typedef struct LMember *LMemberPtr;
typedef struct LMember {
LMemberPtr next;
long data;
} LMember;
typedef struct LHeader *LHeaderPtr;
typedef struct LHeader {
LMemberPtr listHead;
LMemberPtr free;
LHeaderPtr nextChunk;
short entrySize;
short chunkSize;
} LHeader;
typedef Boolean (*CompareProc) (Ptr p1, Ptr p2);
#ifdef __cplusplus
extern "C" {
#endif
LHeaderPtr InitList(short chunkSize, short entrySize);
LMemberPtr AllocateEntry(LHeaderPtr thisList);
void InsertEntry(LHeaderPtr thisList, LMemberPtr thisMember, CompareProc goesAfter);
void DeleteEntry(LHeaderPtr thisList, LMemberPtr thisMember);
void ClearList(LHeaderPtr thisList);
void DeleteList(LHeaderPtr thisList);
#ifdef __cplusplus
}
#endif
#endif